]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
build: Use python postinstall script
authorFlorian Müllner <fmuellner@gnome.org>
Tue, 3 Dec 2019 22:45:41 +0000 (23:45 +0100)
committerFlorian Müllner <fmuellner@gnome.org>
Tue, 7 Jan 2020 11:41:57 +0000 (12:41 +0100)
This is what most GNOME modules now use instead of a shell script,
which makes sense given that the build system itself is written
in python.

This particular copy comes from nautilus ...

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/920

meson.build
meson/meson-postinstall.sh [deleted file]
meson/postinstall.py [new file with mode: 0755]

index ebbfb79948bd2b1006e378a5eecb5bf0b75eeb2a..1ee21070369bcbe55269386681c8bdae05551485 100644 (file)
@@ -266,4 +266,4 @@ if get_option('gtk_doc')
   subdir('docs/reference')
 endif
 
-meson.add_install_script('meson/meson-postinstall.sh')
+meson.add_install_script('meson/postinstall.py')
diff --git a/meson/meson-postinstall.sh b/meson/meson-postinstall.sh
deleted file mode 100755 (executable)
index 4500dcb..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-#!/bin/sh
-
-# Package managers set this so we don't need to run
-if [ -z "$DESTDIR" ]; then
-  echo Compiling GSettings schemas...
-  glib-compile-schemas ${MESON_INSTALL_PREFIX}/share/glib-2.0/schemas
-
-  echo Updating desktop database...
-  update-desktop-database -q ${MESON_INSTALL_PREFIX}/share/applications
-fi
diff --git a/meson/postinstall.py b/meson/postinstall.py
new file mode 100755 (executable)
index 0000000..5287391
--- /dev/null
@@ -0,0 +1,21 @@
+#!/usr/bin/env python3
+
+import os
+import subprocess
+
+prefix = os.environ.get('MESON_INSTALL_PREFIX', '/usr/local')
+datadir = os.path.join(prefix, 'share')
+
+# Packaging tools define DESTDIR and this isn't needed for them
+if 'DESTDIR' not in os.environ:
+    print('Updating desktop database...')
+    desktop_database_dir = os.path.join(datadir, 'applications')
+    if not os.path.exists(desktop_database_dir):
+        os.makedirs(desktop_database_dir)
+    subprocess.call(['update-desktop-database', '-q', desktop_database_dir])
+
+    print('Compiling GSettings schemas...')
+    schemas_dir = os.path.join(datadir, 'glib-2.0', 'schemas')
+    if not os.path.exists(schemas_dir):
+        os.makedirs(schemas_dir)
+    subprocess.call(['glib-compile-schemas', schemas_dir])